package com.lx.tomcat.lifecycle;

import java.util.List;

public interface Lifecycle {
    /** 第1类：针对监听器 **/
    // 添加监听器
    public void addLifecycleListener(LifecycleListener listener);
    // 获取所有监听器
    public List<LifecycleListener> findLifecycleListeners();
    // 移除某个监听器
    public void removeLifecycleListener(LifecycleListener listener);

    /** 第2类：针对控制流程 **/
    // 初始化方法
    public void init() throws Exception;
    // 启动方法
    public void start() throws Exception;
    // 停止方法，和start对应
    public void stop() throws Exception;
    // 销毁方法，和init对应
    public void destroy() throws Exception;

    /** 第3类：针对状态 **/
    // 获取生命周期状态
    public LifecycleState getState();


}
